package com.mathassistant.client.service;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.mathassistant.shared.TheoryDTO;
import com.mathassistant.shared.TopicDTO;

public interface TheoryServiceAsync {

	void createTheory(TheoryDTO theory, TopicDTO topic,
			AsyncCallback<Void> callback);

	void updateTheory(TheoryDTO theory, AsyncCallback<Void> callback);

	void deleteTheory(TheoryDTO thoory, AsyncCallback<Void> callback);

	void getCount(TopicDTO topic, AsyncCallback<Integer> callback);

	void getTheory(int index, TopicDTO topic, AsyncCallback<TheoryDTO> callback);

	void getTheorys(int index, TopicDTO topic,
			AsyncCallback<ArrayList<TheoryDTO>> callback);

	void getTheorys(TopicDTO topic, AsyncCallback<ArrayList<TheoryDTO>> callback);

}
